package com.jhclothing.outbound.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jhclothing.common.annotation.Excel;
import com.jhclothing.common.annotation.Excels;
import com.jhclothing.common.core.domain.BaseEntity;
import com.jhclothing.product.domain.ClothingInventory;

import java.util.Date;

/**
 * 服饰出库对象 clothing_outbound
 *
 * @author zyp
 * @date 2024-04-25
 */
public class ClothingOutbound extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    private Long outboundId;

    /**
     * 出库单号
     */
    @Excel(name = "出库单号", sort = 1)
    private String outboundOrderNum;

    /**
     * 出库日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd", sort = 6)
    private Date outboundTime;

    /**
     * 出库数量（单位：平方米）
     */
    @Excel(name = "出库数量(单位：套)", width=30, sort = 7)
    private Integer outboundNum;

    /**
     * 关联服饰库存表ID
     */
    private Long clothingInventoryId;

    /**
     * 服饰品类ID
     */
    private Long clothingTypeId;

    /**
     * 关联服饰信息
     */
    @Excels({
            @Excel(name = "品类编码", targetAttr = "clothingType.clothingTypeCode", type = Excel.Type.EXPORT, sort = 2),
            @Excel(name = "品类名称", targetAttr = "clothingType.clothingTypeName", type = Excel.Type.EXPORT, sort = 3),
            @Excel(name = "服饰类别", targetAttr = "clothingType.clothingSex", type = Excel.Type.EXPORT, readConverterExp = "0=男款,1=女款,2=未知", sort = 4),
            @Excel(name = "服饰尺码", targetAttr = "clothingSize", type = Excel.Type.EXPORT, readConverterExp = "0=S码,1=M码,2=L码,3=XL码,4=XXL码,5=XXXL码,6=XXXXL码", sort = 5),
    })
    private ClothingInventory clothingInventory;

    /**
     * 查询条件：品类编码
     */
    private String clothingTypeCode;

    /**
     * 查询条件：服饰类别
     */
    private String clothingSex;

    /**
     * 查询条件：服饰尺码
     */
    private String clothingSize;

    public void setOutboundId(Long outboundId) {
        this.outboundId = outboundId;
    }

    public Long getOutboundId() {
        return outboundId;
    }

    public void setOutboundOrderNum(String outboundOrderNum) {
        this.outboundOrderNum = outboundOrderNum;
    }

    public String getOutboundOrderNum() {
        return outboundOrderNum;
    }

    public void setOutboundTime(Date outboundTime) {
        this.outboundTime = outboundTime;
    }

    public Date getOutboundTime() {
        return outboundTime;
    }

    public Integer getOutboundNum() {
        return outboundNum;
    }

    public void setOutboundNum(Integer outboundNum) {
        this.outboundNum = outboundNum;
    }

    public Long getClothingInventoryId() {
        return clothingInventoryId;
    }

    public void setClothingInventoryId(Long clothingInventoryId) {
        this.clothingInventoryId = clothingInventoryId;
    }

    public Long getClothingTypeId() {
        return clothingTypeId;
    }

    public void setClothingTypeId(Long clothingTypeId) {
        this.clothingTypeId = clothingTypeId;
    }

    public ClothingInventory getClothingInventory() {
        return clothingInventory;
    }

    public void setClothingInventory(ClothingInventory clothingInventory) {
        this.clothingInventory = clothingInventory;
    }

    public String getClothingTypeCode() {
        return clothingTypeCode;
    }

    public void setClothingTypeCode(String clothingTypeCode) {
        this.clothingTypeCode = clothingTypeCode;
    }

    public String getClothingSex() {
        return clothingSex;
    }

    public void setClothingSex(String clothingSex) {
        this.clothingSex = clothingSex;
    }

    public String getClothingSize() {
        return clothingSize;
    }

    public void setClothingSize(String clothingSize) {
        this.clothingSize = clothingSize;
    }
}
